<html>
<head>
  <title>Inventory Client</title>
</head>

<body>
  <h1>
    Inventory Client Example Model
  </h1>

  <p>
    Inventory system maintains an inventory of items on a server. The
    inventory can be managed via a management console that
    communicates with the server using HTTP. Any number of mobile
    clients can be connected to the server to retrieve information
    pertaining to stored items from the server using an XML-protocol
    over TCP/IP.


  <p>
    From testing point of view we are particularly interested in
    ensuring that the &quot;update&quot;-mechanism between a client
    and the server works. This system exists so that an end-user can
    monitor the status of the Inventory and then order more items in
    case of shortage:

    <li>a client can request the current item count from the server
    <li>a client can request the server to send updates for an item
      whenever the number of items in the Inventory changes
    <li>a client can notify the user in case the number of items is
      below a user-defined limit or 0.


  <h2>
    Client Requirement
  </h2>

    <li>client must timeout in 15s if no response from the server to
      an update request
    <li>client must generate an alarm if count drops to 0
    <li>client must generate an alarm if count drops below the
      user-specified limit
    <li> negative limits must not be accepted

   <p>
     The above requirements have been specified for the
     client-side of the system. In reality there would be
     additional requirements as well but here we only concentrate
     on those requirements that are relevant for the
     update-mechanism. By embedding these requirements into the
     client model, we instruct Conformiq Designer to produce a
     traceability matrix between the generated tests and the
     requirements stated for the client.

  <h2>
    Testing the Client
  </h2>

  <p>
    InventoryClient model is used for testing the client. This figure
    describes the &quot;would-be&quot; testing setup for the
    client. We say &quot;would-be&quot; because this demonstration
    currently doesn't come with a working Inventory system with a
    client and a server, and the demonstration is based on just
    generating HTML test plans from the model using the
    HTML-scripter.

</body>
</html>
